package com.ruoyi.business.domain;

import java.util.Date;
import com.fasterxml.jackson.annotation.JsonFormat;
import org.apache.commons.lang3.builder.ToStringBuilder;
import org.apache.commons.lang3.builder.ToStringStyle;
import com.ruoyi.common.annotation.Excel;
import com.ruoyi.common.core.domain.BaseEntity;

/**
 * 分销商信息对象 jt_distributor
 * 
 * @author Alan Zhang
 * @date 2025-03-31
 */
public class JtDistributor extends BaseEntity
{
    private static final long serialVersionUID = 1L;

    /** 分销商id */
    private Long distributorId;

    /** 用户id */
    @Excel(name = "用户id")
    private Long userId;

    /** 分销商名称 */
    @Excel(name = "分销商名称")
    private String distributorName;

    /** 分销商类型（1个人 2公司） */
    @Excel(name = "分销商类型", readConverterExp = "1=个人,2=公司")
    private Integer type;

    /** 联系人 */
    @Excel(name = "联系人")
    private String contact;

    /** 国家码 */
    @Excel(name = "国家码")
    private Integer countryCode;

    /** 联系电话 */
    @Excel(name = "联系电话")
    private String phoneNumber;

    /** 邮箱 */
    @Excel(name = "邮箱")
    private String email;

    /** 公司名称、姓名 */
    private String licenseName;

    /** 公司法人 */
    private String corporation;

    /** 证件号码 */
    private String licenseNo;

    /** 证件图片1 */
    private String licenseImage1Url;

    /** 证件图片2 */
    private String licenseImage2Url;

    /** 说明 */
    private String description;

    /** 审核状态（0待审核 1审核通过 2审核未通过） */
    @Excel(name = "审核状态", readConverterExp = "0=待审核,1=审核通过,2=审核未通过")
    private Integer auditStatus;

    /** 审核人 */
    @Excel(name = "审核人")
    private String auditBy;

    /** 审核时间 */
    @JsonFormat(pattern = "yyyy-MM-dd", timezone = "GMT+8")
    @Excel(name = "审核时间", width = 30, dateFormat = "yyyy-MM-dd")
    private Date auditTime;

    /** 审核原因 */
    @Excel(name = "审核原因")
    private String auditReason;

    /** 佣金比例 */
    @Excel(name = "佣金比例")
    private Long commissionRate;

    /** 货币 */
    @Excel(name = "货币")
    private String currency;

    /** 评分 */
    @Excel(name = "评分")
    private Integer rating;

    /** 状态（0已提交 1已取消） */
    @Excel(name = "状态", readConverterExp = "0=已提交,1=已取消")
    private Integer status;

    public void setDistributorId(Long distributorId) 
    {
        this.distributorId = distributorId;
    }

    public Long getDistributorId() 
    {
        return distributorId;
    }

    public void setUserId(Long userId) 
    {
        this.userId = userId;
    }

    public Long getUserId() 
    {
        return userId;
    }

    public void setDistributorName(String distributorName) 
    {
        this.distributorName = distributorName;
    }

    public String getDistributorName() 
    {
        return distributorName;
    }

    public void setType(Integer type) 
    {
        this.type = type;
    }

    public Integer getType() 
    {
        return type;
    }

    public void setContact(String contact) 
    {
        this.contact = contact;
    }

    public String getContact() 
    {
        return contact;
    }

    public void setCountryCode(Integer countryCode)
    {
        this.countryCode = countryCode;
    }

    public Integer getCountryCode()
    {
        return countryCode;
    }

    public void setPhoneNumber(String phoneNumber) 
    {
        this.phoneNumber = phoneNumber;
    }

    public String getPhoneNumber() 
    {
        return phoneNumber;
    }

    public void setEmail(String email) 
    {
        this.email = email;
    }

    public String getEmail() 
    {
        return email;
    }

    public void setLicenseName(String licenseName) 
    {
        this.licenseName = licenseName;
    }

    public String getLicenseName() 
    {
        return licenseName;
    }

    public void setCorporation(String corporation) 
    {
        this.corporation = corporation;
    }

    public String getCorporation() 
    {
        return corporation;
    }

    public void setLicenseNo(String licenseNo) 
    {
        this.licenseNo = licenseNo;
    }

    public String getLicenseNo() 
    {
        return licenseNo;
    }

    public void setLicenseImage1Url(String licenseImage1Url) 
    {
        this.licenseImage1Url = licenseImage1Url;
    }

    public String getLicenseImage1Url() 
    {
        return licenseImage1Url;
    }

    public void setLicenseImage2Url(String licenseImage2Url) 
    {
        this.licenseImage2Url = licenseImage2Url;
    }

    public String getLicenseImage2Url() 
    {
        return licenseImage2Url;
    }

    public void setDescription(String description) 
    {
        this.description = description;
    }

    public String getDescription() 
    {
        return description;
    }

    public void setAuditStatus(Integer auditStatus) 
    {
        this.auditStatus = auditStatus;
    }

    public Integer getAuditStatus() 
    {
        return auditStatus;
    }

    public void setAuditBy(String auditBy) 
    {
        this.auditBy = auditBy;
    }

    public String getAuditBy() 
    {
        return auditBy;
    }

    public void setAuditTime(Date auditTime) 
    {
        this.auditTime = auditTime;
    }

    public Date getAuditTime() 
    {
        return auditTime;
    }

    public void setAuditReason(String auditReason) 
    {
        this.auditReason = auditReason;
    }

    public String getAuditReason() 
    {
        return auditReason;
    }

    public void setCommissionRate(Long commissionRate) 
    {
        this.commissionRate = commissionRate;
    }

    public Long getCommissionRate() 
    {
        return commissionRate;
    }

    public void setCurrency(String currency) 
    {
        this.currency = currency;
    }

    public String getCurrency() 
    {
        return currency;
    }

    public Integer getRating() {
        return rating;
    }

    public void setRating(Integer rating) {
        this.rating = rating;
    }

    public void setStatus(Integer status)
    {
        this.status = status;
    }

    public Integer getStatus() 
    {
        return status;
    }

    @Override
    public String toString() {
        return new ToStringBuilder(this,ToStringStyle.MULTI_LINE_STYLE)
            .append("distributorId", getDistributorId())
            .append("userId", getUserId())
            .append("distributorName", getDistributorName())
            .append("type", getType())
            .append("contact", getContact())
            .append("countryCode", getCountryCode())
            .append("phoneNumber", getPhoneNumber())
            .append("email", getEmail())
            .append("licenseName", getLicenseName())
            .append("corporation", getCorporation())
            .append("licenseNo", getLicenseNo())
            .append("licenseImage1Url", getLicenseImage1Url())
            .append("licenseImage2Url", getLicenseImage2Url())
            .append("description", getDescription())
            .append("remark", getRemark())
            .append("auditStatus", getAuditStatus())
            .append("auditBy", getAuditBy())
            .append("auditTime", getAuditTime())
            .append("auditReason", getAuditReason())
            .append("commissionRate", getCommissionRate())
            .append("currency", getCurrency())
            .append("status", getStatus())
            .append("createBy", getCreateBy())
            .append("createTime", getCreateTime())
            .append("updateBy", getUpdateBy())
            .append("updateTime", getUpdateTime())
            .toString();
    }
}
